package com.itheima.health.dao;

import com.itheima.health.pojo.Order;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author likepei
 * @Date 2020/2/15 15:51
 * @Version v1.0
 * @Description 预约订单的持久层接口
 */
public interface OrderDao {

    /**
     * 基于条件查询预约订单信息
     * @param order
     * @return
     */
    List<Order> findByCondition(Order order);

    /**
     * 添加预约订单
     * @param order
     */
    void add(Order order);

    /**
     * 基于预约id 获取体检预约成功的信息
     * @param id 预约id
     * @return
     */
    Map<String, Object> findById4Detail(@Param("id") Integer id);

    /**
     * 统计某一日期预约数
     * @param date
     * @return
     */
    public Integer findOrderCountByDate(@Param("date") String date);

    /**
     * 统计某一日期之后的预约数据
     * @param date
     * @return
     */
    public Integer findOrderCountByAfterDate(@Param("date") String date);

    /**
     * 统计某一日期的到诊数
     * @param date
     * @return
     */
    public Integer findVisitsCountByDate(@Param("date") String date);

    /**
     * 统计某一日期后的到诊数
     * @param date
     * @return
     */
    public Integer findVisitsCountByAfterDate(@Param("date") String date);

    /**
     * 获取热门套餐列表
     * @return
     */
    public List<Map> findHotSetmeal();
}
